/*************************************************************************
> File Name: MyHashTable.h
> Author: icebear
> Mail: 3322366195@qq.com
> Created Time: 2024-09-05 22:38:06
> Description: 哈希表
************************************************************************/

#ifndef _MYHASHTABLE_H_
#define _MYHASHTABLE_H_

#include "GlobalValue.h"
#include "MyHashPolicy.h"
namespace ib
{
    /**
     * @brief
     * @tparam Key
     * @tparam Value
     * @tparam Alloc
     * @tparam ExtractKey
     * @tparam Equal
     * @tparam H1
     * @tparam H2
     * @tparam ReHashPolicy
     * @tparam Traits
     * size 0x38
     */
    template <typename Key, typename Value, typename Alloc,
              typename ExtractKey, typename Equal,
              typename H1, typename H2,
              typename ReHashPolicy, typename Traits>
    class MyHashTable // 有继承
    {
    private:
        MyHashNodeBase *_M_buckets_0x0;
        size_type _M_bucket_count_0x8 = 1;
        MyHashNodeBase _M_before_begin_0x10;
        size_type _M_element_count_0x18 = 0;
        MyPrimeReHashPolicy _M_rehash_policy_0x20;
        MyHashNodeBase *_M_single_bucket_0x30 = nullptr;

    public:
    };

} // namespace ib

#endif
